package com.beiben.ability.people.mapper;

import com.beiben.ability.people.domain.Details;
import com.beiben.system.user.domain.BeiBenUser;

import java.util.List;

/**
 * 考试详情Mapper接口
 * 
 * @author dulei
 * @date 2020-08-24
 */
public interface DetailsMapper 
{
    /**
     * 查询考试详情
     * 
     * @param detailsId 考试详情ID
     * @return 考试详情
     */
    public Details selectDetailsById(Long detailsId);

    /**
     * 查询考试详情列表
     * 
     * @param details 考试详情
     * @return 考试详情集合
     */
    public List<Details> selectDetailsList(Details details);

    /**
     * 新增考试详情
     * 
     * @param details 考试详情
     * @return 结果
     */
    public int insertDetails(Details details);

    /**
     * 修改考试详情
     * 
     * @param details 考试详情
     * @return 结果
     */
    public int updateDetails(Details details);

    /**
     * 删除考试详情
     * 
     * @param detailsId 考试详情ID
     * @return 结果
     */
    public int deleteDetailsById(Long detailsId);

    /**
     * 批量删除考试详情
     * 
     * @param detailsIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteDetailsByIds(Long[] detailsIds);

    /**
     * 批量删除考试详情
     *
     * @param recordIds 需要删除的数据父ID
     * @return 结果
     */
    public int deleteDetailsByRecordIds(Long[] recordIds);

    /**
     * 删除考试详情
     *
     * @param recordId 需要删除的数据父ID
     * @return 结果
     */
    public int deleteDetailsByRecordId(Long recordId);


    public int checkDetailExist(Details details);

    /**
     * 获取未录入人员信息
     *
     * @param recordId 考试记录ID
     * @return BeiBenUser 结果
     */
    public List<BeiBenUser> selectUsersByRecordId(Long recordId);
}
